Low power digital audio decoding/playing system for computing devices

ABSTRACT

A low-power digital audio decoding and playing system and method for computing devices provides a low-cost, low power-consumption, long-battery-life audio playing and decoding system, which may be used to play compressed audio files of various formats. In one aspect, a computer system adapted to play audio files comprises a system CPU, memory, at least one drive comprising compressed audio data, and an audio controller coupled to the system CPU, memory and drive. The audio controller is adapted to cause the drive to read the compressed audio data from the drive, to cause the system CPU to decompress the compressed audio data from the drive into decompressed audio data, to cause the decompressed audio to be stored in the memory, and to cause the decompressed audio data to be retrieved from the memory for playing.

[0001] This application claims the benefit of provisional applicationserial No. 60/250,899, filed on Dec. 1, 2000, entitled “Low PowerDigital Audio Decoding System for Computing Devices” and provisionalapplication serial No. 60/265,466, filed on Jan. 30, 2001, entitled “LowPower Digital Audio Decoding/Play System for Computing Devices”.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates generally to portable devices(e.g., notebook computers) for reproducing audio recordings, and moreparticularly, to low-power hardware and software for decoding andreproducing compressed audio recordings in a variety of compressionformats from a variety of sources. While particular utility for thepresent application is in the reproduction of MP3 digital audio files,especially for use with portable computers, other utilities arecontemplated herein.

[0004] 2. Description of Related Art

[0005] Presently there exist various portable devices for replayingdigital audio recordings that have been compressed in accordance withone or more compressed audio digital recording formats, e.g., MPEG(Moving Picture Experts Group) Audio Layer-3 (MP3), Windows® Media Audio(WMA), and Advanced Audio Coding (AAC). To date, the most popular formathas been MP3, a compression scheme that results in about a 10:1compression of the size of digital music files. These devices can bedivided into two classes, those which store the compressed digital audiorecordings in an electronic solid-state memory, and those which recordthe compressed digital audio for subsequent reproduction using anelectromechanical device such as a compact disk (“CD”) player or on ahard disk drive of a digital computer.

[0006] For example, portable devices for playing MP3 compressed digitalaudio recordings that use electronic solid-state memory, e.g.,flash-memory, are capable of storing about ten (10) music selections.With an add-in memory card, such devices can carry a total of abouttwenty (20) music selections. These MP3 players that store the MP3compressed digital audio recordings in an electronic solid-state memoryconsume comparatively little electrical power. Thus, such MP3 playersprovide an extended playing interval without having to power thecomputer's CD-ROM or hard disk drive.

[0007] U.S. Pat. No. 6,226,237, entitled “Low Power CD-ROM Player forPortable Computers”, issued May 1, 2001 (the “'237” patent), which ishereby incorporated by reference in its entirety, describes how aconventional notebook computer, when simply playing a conventional musicCD, consumes an unnecessarily large amount of electrical energy. That islargely due to the large number of background functions that areunrelated to the playing of music that the Operating System (e.g.,Windows®) is performing whenever the computer is turned on. Thatexcessive electrical energy consumption for functions unrelated to thefunction the user is performing at the moment, i.e., playing music,quickly drains the battery of a notebook computer of power that couldmore prudently be applied at another time in performance ofmicroprocessor intensive tasks such as word processing and spreadsheetanalysis. The solution presented in the '237 patent is a state machinethat operates when main power to the portable device is OFF. Theinvention of the '237 patent couples a CD-ROM to the audio subsystem(when main power is OFF) so that CDs can be played, without excessivebattery drain, or without having to boot up the portable computer.

[0008] The prior art also includes silicon solutions that are dedicatedfunction integrated circuits (ICs) or incorporated intoapplication-specific integrated circuits, or ASICs. These are usuallyexpensive solutions as the digital signal processor (DSP) required in adedicated chip results in a large, costly integrated circuit. One of theresults is the use of a larger amount of PCB (printed circuit board)space.

[0009] Further, the 15 to 20 MIPS (million instructions per second)decode engine known in the art must be continuously running to generatethe audio stream for the Codec. Additionally, the dedicated decodeengine needs to have the high-power-consuming hard disk drive (HDD)continuously operating. These approaches are limited to functioning onlywith MP3 compression, thereby eliminating the opportunity to adapt thesystem to newly emerging music compression algorithms, such asMicrosoft's WMA or the music industry's proposed Secure Digital MusicInitiative (SDMI) for secure audio.

[0010] Dedicated silicon solutions known in the art employ a DSP thatmust constantly be decoding the compressed audio files from a hard diskdrive, which must therefore be constantly reading the audio files. Suchknown methods require much power, resulting in a fast battery discharge,(e.g., much faster than the possible 4 to 10 hours of desired use on atransoceanic flight).

[0011] Thus, known hardware MP3 decoder and players requiring an ICimplementation and a hard disk drive being accessed non-stop are high inpower consumption, difficult to upgrade, and expensive.

[0012] The present invention provides a solution that is low in powerconsumption, can be upgraded in the field for various music compressionformats, is expected to cost no more than half the cost of the currentlyavailable hardware implementation, and may be made capable of playing upto hundreds of musical selections, while only having to access the HDDor CD-ROM less than 0.5% of the time.

SUMMARY OF THE INVENTION

[0013] It is becoming more and more desirable for mobile platformcompanies to add MP3 and other compressed audio player capability totheir products, with low cost, while providing very long music playingtime, and perhaps even a player that can be later upgraded to othercompression formats by the owner. These mobile platform companies mayalso want to market differentiate their products within a very shortdevelopment time frame.

[0014] The music playing solution of the present invention utilizes aspecial purpose circuit in combination with the mini-OS (operatingsystem) software of the present invention. The present invention usesthe embedded computing power of the standard CPU to perform the filedecompression. Since today's CPUs with clock rates of 500 MHz to 1 GHzhave at least an order of magnitude higher processing power than thereal time DSP engines used in currently available MP3 player/decoders,these powerful CPU processors can often finish the decoding process inless than 10% of the available time. The CPU may then be set to idle bythe present invention for more than 90% of the time, saving largeamounts of power and thus greatly slowing the discharge of the batteryand extending the useful time of the equipment under battery power on asingle charge.

[0015] The present invention is unlike the real-time DSP engines knownin the art, which require a constant data stream from the HDD, and whichresult in high power consumption, since the HDD is being accessed allthe time. Using the technology of the present invention, the HDD may beaccessed less than 0.5% of the time with a typical complement of memory,i.e., 128MB RAM. This results in a dramatic reduction in the rate atwhich power is dissipated from the equipment battery. Further, minimalPCB changes are required for the present invention, thus resulting inthe quick adoption of new product features in PCs.

[0016] There are many possible music compression algorithms. Compressionalgorithms other than MP3 include WMA, AAC, and the proposed SDMI. Thesoftware decompression methodology of the present invention can beeasily modified to decode any compression scheme, or with a softwareinstallation process, all the various compression schemes. Thisflexibility allows the adaptation to new and different algorithms, asthey become popular, by permitting an after-market upgrade of computersequipped with the present invention. Also, since this portion of thepresent invention is a software system, new updates and/or algorithmsmay be downloaded (e.g., from the Internet) to upgrade machines in thefield, eliminating the necessity for consumers to buy multipleplayers/decoders in order to listen to audio files having differentcompression formats.

[0017] Thus, the present invention provides a low-cost, lowpower-consumption, long-battery-life audio playing and decoding system,which may be used to play audio files of various formats.

[0018] In one aspect, a computer system adapted to play audio filescomprises a system CPU, memory; at least one drive comprising compressedaudio data residing in one or more audio files, a play list softwareprogram for selecting and storing a play list comprising one or more ofthe audio files, a first operating system adapted to control at leastthe system CPU and memory, and a second operating system stored in BIOSand adapted to retrieve the play list and cause the drive to read atleast one audio file of the play list, to cause the system CPU todecompress the compressed audio data of the file and providedecompressed audio data, and to cause the decompressed audio data to bestored in memory.

[0019] In another aspect, a computer system adapted to play audio filescomprises a drive comprising at least one audio file, an audiocontroller, and an operating system stored in BIOS, the operating systemcontrolling the audio controller, so as to cause the audio controller toplay at least one audio file.

[0020] In a further aspect, a computer system adapted to play audiofiles comprises: compressed audio data, a system CPU, an audiocontroller, a first operating system adapted to control at least thesystem CPU, a second operating system controlling the audio controllerand system CPU, so as to cause the system CPU to decompress thecompressed audio data, and a switch, the activation of the switchcausing the second operating system to boot.

[0021] In yet another aspect, a computer system adapted to play audiofiles comprises a system CPU, memory, at least one drive comprisingcompressed audio data residing in one or more audio files, a play listsoftware program for selecting a play list comprising one or more of theaudio files, and an audio controller coupled to the system CPU, memoryand drive. The audio controller is adapted to cause the drive to read atleast one audio file of the play list, to cause the system CPU todecompress the compressed audio data of the file and thereby providedecompressed audio data, and to cause the decompressed audio data to bestored in memory.

[0022] In process form, a method of playing audio files on a computersystem comprises: booting a first operating system; creating and storinga play list comprising a list of compressed audio files residing on oneor more drives of a computer system having at least a drive, a CPU, anda memory; terminating the first operating system; booting a secondoperating system upon activation by a switch; reading the play list;reading the compressed audio files from the drive based on the playlist; providing the compressed audio data to the CPU for decompressingthe data of the compressed audio file into decompressed audio data;storing the decompressed audio data in memory; and retrieving thedecompressed audio data from the memory for playing.

[0023] In another process form, a method of playing audio files on acomputer system comprises: reading compressed audio data from the driveof a computer system having at least a drive, a CPU, and a memory;providing the compressed audio data to the CPU for decompressing thecompressed audio data, thereby providing decompressed audio data; andstoring the decompressed audio data in memory.

BRIEF DESCRIPTION OF THE DRAWINGS

[0024]FIG. 1 is a block diagram representation an exemplary operationalflow of one embodiment of the present invention;

[0025]FIG. 2 is a flow diagram of an exemplary power up of the mini-OSand initiation of the player function, in one embodiment of the presentinvention;

[0026]FIG. 3 is a block diagram of an exemplary audio player systemconsistent with one embodiment of the present invention;

[0027]FIG. 4 is a block diagram of the internal portion of an exemplaryspecial purpose circuit, in relation to the other components thatinterface with it, in one embodiment of the present invention; and

[0028]FIG. 5 is another block diagram of an exemplary audio playersystem consistent with another embodiment of the present invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

[0029] The present invention comprises mini-OS (operating system)software and a hardware interface between the South Bridge and Codec toplay the musical selections (or other stored audio) desired by the user.The mini-OS software of the present invention performs only thosefunctions and enables those elements of the portable computer that areneeded, when they are needed, to play the selected music, withoutperforming all of the background functions performed by the full systemoperating system, e.g., Windows®, and without accessing the monitorcircuitry and monitor screen of the portable computer. Additionally, themini-OS of the present invention only accesses the HDD when compressedfiles are being transferred to RAM. Thus, it will be seen that themini-OS software portion of the present invention performs both powersaving and file management functions when playing audio.

[0030]FIG. 1 is a block diagram representation of the operational flowof the exemplary software compressed audio player in one embodiment ofthe present invention.

[0031] The operational concept illustrated in FIG. 1 is as follows:

[0032] 1^(st): A browser, running on a full system operating system,e.g., Windows®, of the portable computer is initially used to downloadcompressed music files (for example 1000 songs) onto the PC hard diskdrive (HDD) (2) (e.g., using 4 gigabytes of HDD space) at some timeprior to the time at which the user desires to use the portable computeras an audio player and a playlist is created, comprising the songs theuser desires to hear at a later time;

[0033] 2^(nd): When the user desires to use the portable computer as anaudio player, once the desired music files are on the HDD, the useroperates an audio player on-switch to turn the portable computer fullyon, boot up the entire computer, load in the mini-OS of the presentinvention instead of the usual Microsoft Windows® OS (the full systemoperating system is not opened) with the power saving initializationsubroutines and initializes only those portions of the portable computeras necessary, and the file management subroutines initialize the songplay list or book generated in step 1, of a substantial number of songs,for desired music listening under direction of the user;

[0034] 3^(rd): The mini-OS software is then copied from the HDD (2) toRAM (4), and then the first set of compressed files from the song playlist is copied from the HDD (2) to the system RAM (4) also using themini-OS software of the present invention. For example, in today's PC's128 Mbytes is a typical system RAM size, with the mini-OS software ofthe present invention taking about 8 Mbytes of the RAM, leavingapproximately 120 Mbytes for use as a compressed music memory (i.e., acache or buffer, using system memory, dedicated memory, or othermemory). That 120 Mbytes represents about 2 hours of continuouscompressed music with a compression ration of 10:1, typical of MP3files. Similarly, in the case when flash media is used for MP3 storage,all or most of the contents of the flash media card can be copied to thesystem RAM (4), thus minimizing the access of the flash media reader andallowing for a more responsive control over the MP3 files;

[0035] 4^(th) : The file management software of the present inventionsequentially delivers portions of the first music file to the CPU (6)where the decode algorithm decompresses each file using the filemanagement software of the present invention stored in RAM (4). Oncedecoded, the PCM audio data is transferred in one of three ways: the CPUdelivers the PCM audio data to the South Bridge (see FIG. 3 (32)) FIFObuffer; the DMA in the South Bridge transfers the data internally withinthe South Bridge to the FIFO buffer; or the special purpose circuittransfers the data to the FIFO buffer from the LPC interface. The FIFObuffer then sequentially feeds each piece of decoded music to Codec (8)(also see FIG. 3 (42)), through the special purpose circuit of thepresent invention, where the decoded signal is converted from digital toanalog. Then the output signal from the Codec (8) is amplified (10)(also see FIG. 3 (44)) to drive the speakers and/or headset (see FIG. 3(46)).

[0036] 5^(th): While the final song of the first set from the play listis playing from memory, the file management software of the presentinvention stored in the RAM (4, 30) returns control to the 4^(th) stepto retrieve the next set of compressed music files from the memory ofthe RAM, as determined by the earlier scripted song play list developedin the 1^(st) step. Thus, the 4^(th) and 5^(th) steps are repeated foreach set of compressed music files until the last music selection in theset plays. At that point in time control returns to the 3^(rd) step toload another set from the play list, which is similarly played throughthe 4^(th) and 5^(th) steps. When the last song is played from theoverall play list of the 2^(nd) step, or when the user turns off themusic player function, the operation of the player ceases.

[0037] The mini-OS power saving software of the present inventionensures that the CPU, Peripheral Chips, HDD and other controllablesystem elements will be in idle state for the highest percentage timepossible. An interesting attribute of the solution offered by thepresent invention is that the higher the MIPS (Million Instructions PerSecond) capacity of the CPU, the smaller percentage of time the CPU willspend performing the decode function. This means that higher performanceCPU's will demonstrate even lower power usage when playing compressedmusic performances, thus saving even more battery power and furtherextending the length of time that the battery maintains sufficientcharge to power the portable computer.

[0038] The mini-OS monitors the audio control buttons (e.g., play, fastforward, rewind, pause, scan, previous track, next track, first track,last track, fast forward/rewind while listening, audio source/mediaselect (e.g., HDD or CD), etc.) (see FIG. 3 (48)) for user actuationthrough the special purpose circuit (see FIG. 3 (40)) of the presentinvention, and communicates user requests to the mini-OS file managementsoftware of the present invention. Optionally, a small LCD display (seeFIG. 3 (34)) can be connected to the special purpose circuit to providevisual status indicators (e.g., Song #, Song titles, track #, Playtime &icons) under control of the mini-OS display management subroutines.

[0039] The mini-OS power saving software of the present inventionprimarily manages the usage of the CPU, and the MP3 storage devices suchas CD, HDD, and flash media such as SD (Secure Digital) cards, MMC(Multimedia Card), memory stick, and SMC (Smart Media Card), whilemaintaining the rest of the system, including the memory, corelogicchipsets, in a fully on and functional state. Secondary power saving isapplied to other PC subsystems to minimize power usage still further byputting them in an idle state.

[0040] For example, with a 500 MHz Pentium III CPU having about 225 MIPSof processing power and the decode algorithm requiring about 15 MIPS,the CPU will be operating less than 10% of the time. The other 90-95% ofthe time the CPU will be in a standby mode that requires only milliampsof current. Alternatively, the CPU can be run at a slower clock speed,which is usually an option provided by most of today CPUs, such as theAMD's Athlon CPU. Similarly the HDD is accessed during the time it takesto fill or refill the RAM. Thus, since the average song takes about 4minutes to play and the RAM holds about 30 songs for 120 Mbytes, andsince the HDD needs 1-5 seconds to spin up and only several seconds toload the song play list into RAM, the total access time for the HDD maybe 30 seconds out of 120 minutes of play time; a ratio of 1:240, lessthan 0.5% of fall power operating time. These factors add to the powersavings gained by using the mini-OS of the present invention instead ofthe full operating system of the portable computer. The result of theoverall power consumption of the present invention is very low when theportable computer is in the music play mode, and that directlytranslates into the battery maintaining a useful charge level for a muchlonger time than allowed by the prior art. As those skilled in the artwill recognize, the compressed music data of this invention may resideon a hard disk, on other magnetic (e.g., tape) media, optical (e.g.,CD-ROM) media, flash media (e.g., SD cards, MMC, memory stick, SMC), orany other storage medium. FIG. 3 is a generalized overall block diagramof an exemplary system 31 consistent with one embodiment of the presentinvention. The majority of the blocks in system 31 are components knownin the art and are generally included in all PC computers for producingsound through the speaker of the computer. Shown here is a system clock56, which, for simplicity of FIG. 3, is not shown connected to thevarious components that need a clock signal. Additionally, CPU 26 isshown interfacing with North Bridge 28. In turn, North Bridge interfaceswith system RAM 30 and South Bridge 32. Then South Bridge 32 interfaceswith HDD 36 and CD-ROM 38. Typically South Bridge 32 also interfacesdirectly with Codec 42 through AC_link; however, in the exemplary system31 shown, special purpose circuit 40 (see discussion of FIG. 4 below) isinserted between South Bridge 32 and Codec 42 to enable the playing ofcompressed digital audio in conjunction with the mini-OS 80 of thepresent invention from system RAM 30, without affecting the ability toplay non-compressed analog audio. In this configuration, the mini-OS 80is stored in the BIOS, although those skilled in the art will recognizethat the mini-OS could alternatively be stored in its own ROM (eitherwithin special purpose circuit 40 or external to it), a hard disk, orother media. Thus, AC_link, from South Bridge 32 is coupled to specialpurpose circuit 40, which performs the decompression function asnecessary, and then provides any audio signals to Codec 42 via AC_link₂.Codec 42 then performs the usual function on all signals received fromspecial purpose circuit 40 and applies the audio signals to amplifier44, to be played on speaker 46 or headphones (not shown). In system 31,AC_link₁ looks and behaves like the standard AC_link to South Bridge 32,and AC_link₂ looks and behaves like the standard AC_link to Codec 42,making it appear to those portions of the computer that audio functionsare being performed as during normal (i.e., known in the art) audioplay, thus having minimal or no impact on the operation of South Bridge32 and Codec 42. Also shown in FIG. 3 are function switches 48, smallLCD display 34 and audio player power switch 54, which function asdescribed hereinbelow with reference to FIG. 4.

[0041]FIG. 4 includes a detailed block diagram of the internals ofspecial purpose circuit 40 and related details of the other portions ofthe computer that the special purpose circuit interfaces without showingall of the details of the rest of the computer system. Special purposecircuit 40 may be produced as an IC to minimize the PCB space needed toincorporate embodiments of the present invention into portablecomputers. South Bridge 32 is shown with the standard AC 97 controller50 and LPC (low pin count) controller 52 to the left of special purposecircuit 40 with the standard bidirectional links AC_link₁ and LPC Busbetween them, and the unidirectional IRQ (Interrupt Request) link fromspecial purpose circuit 40 to South Bridge 32. To the right, specialpurpose circuit 40 provides uncompressed audio to AC 97 Codec 42 viaAC_link₂. Also, to the right, function keys 48, and below LCD 34, areeach shown connected to special purpose circuit 40. Additionally, FIG. 4includes system clock 56 connected to various components, and in thelower left, audio player power switch 54. Power switch 54 is provided sothat when the user initiates the player mode via power switch 54, onlythe mini-OS (instead of the full system OS) is initiated, for use in asystem consistent with the present invention.

[0042] Internal to special purpose circuit 40 are switches 60 thatinterface with both AC_link₁ and AC_link₂ and function in response tosettings in an internal register of register block 66, with switches 60closed connecting AC-link, with AC_link₂ when the PC functions normallywith the full system OS, and with switches 60 open when a systemconsistent with the present invention is employed. The LPC path iscoupled to LPC interface. Switches 60 and AC_link₂ are coupled to statemachine 64, while another port of state machine 64 is coupled, via bus74, to the output of LPC interface 62, as well as register block 66,function key interface 68 and LCD interface 72. A second port ofregister block 66 is also coupled to a third port of state machine 64.Function keys 48 are coupled to function key interface 68, and LCD 34 iscoupled to LCD interface 72. Also, function key interface 68 provides asignal to register block 66 when one of the function keys 48 is selectedby the user. Audio player power switch 54, which is operated by the userin the second step discussed above, may be used to activate the PC tooperate as described hereinabove. Switch 54 is shown connected to the DCvoltage source of the portable computer and not to any particular blockin FIG. 4, since that connection varies depending on several factorscontrolled by the manufacturer of the computer on which an embodiment ofthe present invention is installed.

[0043] More specifically, the blocks within special purpose circuit 40operate as follows:

LPC Interface

[0044] Special purpose circuit 40 includes LPC (Low Pin Count) interface62 to interface with LPC controller 52 in South Bridge 32.

[0045] The LPC interface 62 is used to by CPU 26 to:

[0046] (1) read the function key input registers in register block 66;

[0047] (2) set the control register in register block 66 to control theAC97 Codec 42;

[0048] (3) get the audio PCM (Pulse Code Modulation) data from thesystem memory (RAM 30); and

[0049] (4) perform clock throttling control.

[0050] The setting in the mode register of register block 66 controlsthe state of switches 60 to switch the special purpose circuit 40between the normal computer operation mode with switches 60 closed(e.g., running Microsoft Windows® OS) and the mode of a systemconsistent with the present invention, with switches 60 open (runningthe mini-OS) to play compressed audio files.

South Bridge AC97 Controller 50 Interface (AC_Link₁ from Host)

[0051] During the normal computer operation mode, switches 60 are closedwith the South Bridge AC97 Controller 50 interface connected directlythrough, closed switches 60, to AC97 Codec 42 to generate audio outputas if special purpose circuit 40 were not present. To play compressedaudio files, switches 60 are open when the mini-OS is running, and statemachine 64 controls AC97 Codec 42.

AC97 Codec Interface (AC Link₂ to AC97 Codec 42)

[0052] When the computer is running under control of the mini-OS,switches 60 are open. State machine 64 then controls the AC_link₂ inresponse to the settings of the register block 66 set by the host (CPU26) to generate the controls for AC97 Codec 42 (e.g., switching thesampling frequency, controlling volume, sending the PCM data to theCodec 42, setting the Codec 42 to the power saving mode or waking Codec42 from the power saving mode).

Function Key Input Interface 68

[0053] Function key interface 68 receives the user selections fromfunction keys 48 and stores the selections in internal registers to beread by CPU 26.

LCD Interface 72

[0054] LCD interface 72 is only necessary if LCD 34 is used to providestatus information to the user. The purpose, when used, is to showplayer status on low cost LCD 34 when the system consistent with thepresent invention is used. Status of the audio track number of theselection playing, status icons (e.g., Play) and other generic statusicons may be programmed into the system and displayed for any otherpurpose.

Operation Modes

[0055] (A) Normal Operation Mode:

[0056] When the PC is fully powered and running under the full systemOS, the various functions of special purpose circuit 40 are bypassed andswitches 60 are closed, as discussed above. In the normal mode, thecomputer system uses the South Bridge AC97 Controller 50 to directlycontrol the AC97 Codec 42 through the AC_link (in the Normal modeAC_link₁ and AC_link₂ are the same since switches 60 are closed. Thespecial purpose circuit does not intercept of modify the AC linksignals.

[0057] (B) Compressed Audio Performance Mode:

[0058] When switch 54 has been closed, the system runs under the controlof mini-OS, and special purpose circuit 40 is empowered and runs in thecompressed audio performance mode. The South Bridge AC97 Controller 50is isolated from the AC97 Codec 42 in this mode since switches 60 areopen.

[0059] In the compressed audio performance mode, the host (CPU 26) setsthe internal registers of register block 66 to control the data flow tothe AC97 Codec 42, and to perform the various power managementfunctions.

A Power Saving Control Method in Compressed Audio Performance Mode

[0060] A flexible control method of the special purpose circuit 40 isprovided to minimize the system control cycles and power consumption inthe performance mode. The system memory (RAM 30) is used to pass most ofthe control commands to the special purpose circuit 40, instead of CPU26, which minimizes the time that CPU 26 needs to access high speedexternal bus other than a standby level. This considerably reduces thepower load on the portable computer battery in this mode.

[0061] CPU 26 also sets the system control memory registers in registerblock 66. State machine 64 bases operation on those register settings toobtain control words and PCM data automatically through the LPCinterface 62. The control words in the system memory (RAM 30) arefetched into the internal registers, and the state machine 64 decodesthe control words to determine if PCM or audio data is ready. If theaudio data is ready, the state machine 64 continues to fetch the audiodata and send it to the AC97 Codec 42. The control words in the systemmemory (RAM 30) can also be used to indicate the sampling frequency ofthe PCM data. So, the state machine 64 can set AC97 Codec 42 to theappropriate frequency before the PCM data is sent.

[0062] Those skilled in the art will recognize that a headphone orheadset system may comprise further functionality than describedhereinabove, e.g., a volume control, or the audio control buttons may beintegrated thereto.

[0063] It should also be recognized that a special purpose circuitconsistent with the invention may be integrated into a full-timecompressed (and/or non-compressed) audio playing system capable ofplaying music regardless of the operation of the rest of the system. Inthis configuration, the special purpose circuit and mini-OS areprovided, as well as a software driver for handling interrupts from thefunction buttons under Windows®. In this configuration, when the rest ofthe system is either fully on (S0) or in “sleep” (suspend to RAM or S3)mode, the system may be configured to begin execution of a custom orstandard audio player, e.g., Music Match or Windows® Media Player,running under Windows®, which may be adapted to play the compressedaudio files stored in the play list. In this scenario, the functionbuttons may be adapted for use in a passthrough-type mode using theaccompanying software driver to control various features of the audioplayer software, e.g., Music Match, instead of controlling the specialpurpose circuit. When the primary operating system such as Windows® iseither fully off (S5) or in “hibernate” (suspend to HDD or S4) mode,operation of the special purpose circuit may proceed to play compressedaudio files from the play list as described hereinabove, wherein thefunction buttons control the special purpose circuit.

[0064] It is noted that the power states described above (i.e., fullyon, sleep/suspend to RAM, fully off, hibernate/suspend to HDD) are oftenreferred to using the Advanced Configuration and Power Interface(“ACPI”) standard conventions, as follows: The typical operating system(e.g., Windows®) supports six system power states, referred to as S0(fully on and operational) through S5 (power off). Each state ischaracterized by the following: power consumption, i.e. how much powerthe computer uses; software resumption, i.e, from what point theoperating system restarts; hardware latency, i.e., how long it takes toreturn the computer to the working state; and system context, i.e. howmuch system context is retained, or whether the operating system mustreboot to return to the working state. State S0 is the working state.States S1, S2, S3, and S4 are sleeping states, in which the computerappears off because of reduced power consumption but retains enoughcontext to return to the working state without restarting the operatingsystem. State S5 is the shutdown or off state. A system is waking whenit is in transition from the shutdown state (S5) or any sleeping state(S1-S4) to the working state (S0), and it is going to sleep when it isin transition from the working state to any sleep state or the shutdownstate. the system cannot enter one sleep state directly from another; itmust always enter the working state before entering any sleep state. Forexample, a system cannot transition from state S2 to S4, nor from stateS4 to S2. It must first return to SO, from which it can enter the nextsleep state. Because a system in an intermediate sleep state has alreadylost some operating context, it must return to the working state torestore that context before it can make an additional state transition.

[0065] Referring now to FIG. 2, in conjunction with FIG. 3, an exemplarysequence 200 for the power up of the mini-OS and initiation of theplayer function, in one embodiment of the present invention, isillustrated. As stated above, at some time prior to the initiation ofthe audio player function of a PC equipped with the present invention,the user downloads (not shown in FIG. 2) the audio files of interest tothe HDD 36 or burns a CD-ROM that is placed in the CD-ROM drive 38 foruse with the audio player feature of the present invention. As shown, atstep 201, the sequence 200 begins when the user presses either an audioplayer power switch 54 or the computer's main power switch (not shown inFIG. 3), to turn the system on. A determination is then made, at step202, whether the computer is to boot in normal operation mode orcompressed audio performance mode. This determination is typically madein the BIOS, based on whether the computer's power switch or an audioplayer power switch 54 was used to turn on the computer, although thoseskilled in the art will recognize that this determination couldalternatively be made by an application program or an operating systemthat provides such capability (e.g. Windows® 98). If the computer'spower switch was used to turn on the computer, then the system boots tonormal operation mode, at step 203, and the normal operating system(e.g., Windows® 98) is loaded into system RAM 30 and executed. If anaudio player power switch 54 was used to turn on the computer, themini-OS is loaded into system RAM 30, at step 204. At step 203, themini-OS initializes the system components including one or more of theNorth Bridge 28, South Bridge 32, special purpose circuit 40, hard drive36, CD-ROM drive 38, codec 42, and CPU 26.

[0066] Since no audio decompression request will be pending upon systeminitialization (i.e., the memory buffer is not full), whichdetermination is made at step 208, the system waits for input from oneof the function keys 48, at step 207, until one of the function keys 48is pressed, at which point the appropriate function is executed and theLCD display updated, as appropriate, at step 206. If the commandincludes a request from the user to play audio, an audio decompressionrequest will be pending at this time, which determination is made atstep 208. Since no compressed audio file(s) are in system memory 30 uponthe initial request to play audio, which determination is made at step209, the compressed audio file(s) are read from the HDD 36 and/or CD-ROMdrive 38 and loaded into system memory 30, at step 210. After thecompressed audio files are loaded into system memory at step 210, or ifthe audio file(s) are already in system memory, which determination ismade at step 209, the audio files are then decompressed, at step 211,using the system CPU 26. DMA transfer(s) to the codec 42 are initializedfor the decompressed audio data, at step 212, and then the output signalfrom the Codec 42 is amplified (not shown in FIG. 2) by the amplifier 44to drive the speakers and/or headset 46. After the DMA transfer(s) areinitialized, at step 212, control loops back to step 208, to determinewhether an audio decompression request is pending.

Playlist Software Operation

[0067]FIG. 5 is another generalized overall block diagram of anexemplary system 31 consistent with another embodiment of the presentinvention. In this exemplary embodiment, the system 31 includes portablememory media 80 that can be used to hold the playlist data and/orcompressed file data. The memory media 80 can be SmartCard media, MemoryStick media, PCMCIA memory media and/or other portable media known inthe art. If the system is ON and media is detected as being present atthe portable memory media location (e.g., by insertion of a Smart Card,PCMCIA, CardBus card, Memory Stick or other media into an appropriateslot), the memory reader generates an interrupt to the South Bridge 32.The special purpose circuit 40 of this embodiment also receives theinterrupt and generates a command to tell the operating system to launchan appropriate application (e.g., Windows Media Player) to read theplaylist data on the memory device 80. In this instance, the applicationtakes control to read the playlist file and retrieve the audio data,either from the memory device 80 or some other location specified in theplaylist file. Similarly, when the mini-OS is operational, the specialpurpose circuit 40 is adapted to check if a memory device 80 is present,and to scan the device for playlist data. The system then operates asdescribed above.

[0068] The playlist file, as described herein, is a generalized datafile that is constructed by a user having a desired MP3 song sequence.The playlist file also includes disk path information to instruct theapplication as to where to locate the desired MP3 data. Certainoperating systems permit users to change drive letters on-the-fly.Accordingly, the playlist software reads the volume serial number (VSN)given by the operating system to a particular drive. The serial numberdoes not change (unless intentionally changed by reformatting thedrive), and thus, the playlist software can track the playlist dataregardless if the user reassigns a particular drive letter. This featurealso works similarly with switchable devices such as disk drives.

[0069] It should be recognized by those skilled in the art that,although the above-described embodiments utilize a hardware-based OSselection (i.e., pressing main power button boots to Windows®, whilepressing audio control button boots to mini-OS), other OS selectionmethods are contemplated, as well. Such selection methods include, e.g.,using a batch file or other scripting or software-based method to shutdown a first OS and boot to the second OS. Those skilled in the art willalso recognize that the mini-OS of the present invention couldconceivably be implemented as part of a larger OS (e.g., a GUI-based OS,such as Windows®, LINUX, etc.) or as a software component namedsomething other than an “operating system”, (e.g., a “driver”, an“algorithm”, a “script”, “code”, a “program”, an “executable”, a“routine”, a “subroutine”, a “utility”, etc.), instead of beingimplemented as an entirely separate operating system. Such embodimentsare contemplated to be within the scope of the present invention.

[0070] Although the present invention has been described in terms of theexemplary embodiments provided herein, it is to be understood that suchdisclosure is purely illustrative and is not to be interpreted aslimiting. Consequently, without departing from the spirit and scope ofthe invention, various alterations, modifications, and/or alternativeapplications of the invention will, no doubt, be suggested to thoseskilled in the art after having read the preceding disclosure.Accordingly, it is intended that the following claims be interpreted asencompassing all alterations, modifications, or alternative applicationsas fall within the true spirit and scope of the invention.

What is claimed is: claims
 1. A computer system adapted to play audiofiles, said computer system comprising: a system CPU; memory; at leastone drive comprising compressed audio data, said compressed audio dataresiding in one or more audio files; a play list software program forselecting and storing a play list comprising one or more of said audiofiles, said play list containing information related to the location ofsaid audio files including the volume serial number of the drivecontaining said audio file; a first operating system adapted to controlat least said system CPU and said memory; and a second operating system,said second operating system being stored in BIOS and adapted toretrieve said play list and cause said drive to read at least one saidaudio file of said play list, to cause said system CPU to decompress thecompressed audio data of said file and provide decompressed audio data,and to cause said decompressed audio data to be stored in said memory.2. A computer system as claimed in claim 1, further comprising aportable memory media device including a portable memory media readerand a portable memory device, wherein said playlist data being stored onsaid portable memory media.
 3. A computer system as claimed in claim 2,wherein said portable memory media device selected from the group ofSmart Card, PCMCIA, CardBus card and Memory Stick.
 4. A computer systemadapted to play audio files, said computer system comprising: a systemCPU; memory; a first drive comprising compressed audio data, saidcompressed audio data residing in one or more audio files; a play listsoftware program for selecting and storing a play list comprising one ormore of said audio files, said play list stored on a second drivecomprising portable memory media; a first operating system adapted tocontrol at least said system CPU and said memory; and a second operatingsystem, said second operating system being stored in BIOS and adapted toretrieve said play list and cause said drive to read at least one saidaudio file of said play list, to cause said system CPU to decompress thecompressed audio data of said file and provide decompressed audio data,and to cause said decompressed audio data to be stored in said memory.5. A computer system as claimed in claim 4, said play list containinginformation related to the location of said audio files including volumeserial number of the drive containing said audio file.
 6. A computersystem as claimed in claim 4, said portable memory media deviceincluding a portable memory media reader and a portable memory device,wherein said playlist data being stored on said portable memory media.7. A computer system as claimed in claim 6, wherein said portable memorymedia device selected from the group of Smart Card, PCMCIA, CardBus cardand Memory Stick.